package com.xzj.admin.flow.domain.entity;

import com.alibaba.fastjson2.JSONObject;
import com.xzj.common.core.domain.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * @program: xzj-admin
 * @ClassName: FlowNode
 * @description: 流程节点;
 * @author: XiaZunJun
 * @create: 2024-9-27
 */
@Schema(name = "流程节点", description = "")
@Data
@EqualsAndHashCode(callSuper = true)
public class FlowNode extends BaseEntity implements Serializable {
    /**
     * 流程节点ID
     */
    @Schema(name = "流程节点ID", description = "")
    private String id;


    /**
     * 流程节点名称
     */
    @Schema(name = "流程节点名称", description = "")
    private String label;


    /**
     * 节点类型
     */
    @Schema(name = "节点类型", description = "")
    private String shape;


    /**
     * 是否显示节点
     */
    @Schema(name = "是否显示节点", description = "")
    private String visible;


    /**
     * x轴坐标
     */
    @Schema(name = "x轴坐标", description = "")
    private Integer xCoordinate;


    /**
     * y轴坐标
     */
    @Schema(name = "y轴坐标", description = "")
    private Integer yCoordinate;


    /**
     * 节点次序
     */
    @Schema(name = "节点次序", description = "")
    private Integer zIndex;


    /**
     * 节点数据
     */
    @Schema(name = "节点数据", description = "")
    private String data;


    /**
     * 节点图标
     */
    @Schema(name = "节点图标", description = "")
    private String attrsImage;


    /**
     * 所属流程Id
     */
    @Schema(name = "所属流程Id", description = "")
    private String flowId;

    private JSONObject ports;

    private JSONObject attrs;
    private JSONObject position;
}